home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 February: Tool Chest / Dev.CD Feb 94.toast / Tool Chest / Development Platforms / MCL Related / User Contributions / oodles-of-utils.sea / oodles-of-utils / brutal-utils / kinesis-u.lisp < prev    next >
MacBinary  |  1992-05-19  |  12.6 KB  |  [TEXT/CCL2]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Tue May 19 12:12:33 1992, modified Tue May 19 12:12:33 1992, creator Common Lisp 2, type ASCII, 12282 bytes "kinesis-u.lisp" , at 0x307a 442 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% dearkID deark: macbinary default
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[CCL2]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0e 6b 69 6e 65 73 69 | 73 2d 75 2e 6c 69 73 70 |..kinesi|s-u.lisp|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 43 43 4c | 32 01 00 00 00 00 00 00 |.TEXTCCL|2.......|
|00000050| 00 00 00 00 00 2f fa 00 | 00 01 ba a6 3e d9 71 a6 |...../..|....>.q.|
|00000060| 3e d9 71 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |>.q.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 92 f8 00 00 |........|........|
|00000080| 28 69 6e 2d 70 61 63 6b | 61 67 65 20 20 3a 6f 6f |(in-pack|age :oo|
|00000090| 75 29 0d 28 6f 6f 75 2d | 70 72 6f 76 69 64 65 20 |u).(oou-|provide |
|000000a0| 3a 6b 69 6e 65 73 69 73 | 2d 75 29 0d 3b 3b 3b 3b |:kinesis|-u).;;;;|
|000000b0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000000c0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000000d0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000000e0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000000f0| 3b 3b 0d 3b 3b 20 6b 69 | 6e 65 73 69 73 2d 75 2e |;;.;; ki|nesis-u.|
|00000100| 4c 69 73 70 0d 3b 3b 0d | 3b 3b 20 43 6f 70 79 72 |Lisp.;;.|;; Copyr|
|00000110| 69 67 68 74 20 a9 20 31 | 39 39 32 20 4e 6f 72 74 |ight . 1|992 Nort|
|00000120| 68 77 65 73 74 65 72 6e | 20 55 6e 69 76 65 72 73 |hwestern| Univers|
|00000130| 69 74 79 20 49 6e 73 74 | 69 74 75 74 65 20 66 6f |ity Inst|itute fo|
|00000140| 72 20 74 68 65 20 4c 65 | 61 72 6e 69 6e 67 20 53 |r the Le|arning S|
|00000150| 63 69 65 6e 63 65 73 0d | 3b 3b 20 41 6c 6c 20 52 |ciences.|;; All R|
|00000160| 69 67 68 74 73 20 52 65 | 73 65 72 76 65 64 0d 3b |ights Re|served.;|
|00000170| 3b 0d 3b 3b 20 61 75 74 | 68 6f 72 3a 20 4d 69 63 |;.;; aut|hor: Mic|
|00000180| 68 61 65 6c 20 53 2e 20 | 45 6e 67 62 65 72 0d 3b |hael S. |Engber.;|
|00000190| 3b 0d 3b 3b 20 75 74 69 | 6c 69 74 69 65 73 20 66 |;.;; uti|lities f|
|000001a0| 6f 72 20 6d 6f 76 69 6e | 67 20 69 6d 61 67 65 73 |or movin|g images|
|000001b0| 20 61 72 6f 75 6e 64 20 | 20 20 20 0d 3b 3b 3b 3b | around | .;;;;|
|000001c0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000001d0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000001e0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000001f0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00000200| 3b 3b 0d 0d 28 6f 6f 75 | 2d 64 65 70 65 6e 64 65 |;;..(oou|-depende|
|00000210| 6e 63 69 65 73 20 3a 73 | 63 72 65 65 6e 2d 33 62 |ncies :s|creen-3b|
|00000220| 75 66 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |uf. | |
|00000230| 20 20 20 20 20 3a 51 75 | 69 63 6b 44 72 61 77 2d | :Qu|ickDraw-|
|00000240| 75 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |u. | |
|00000250| 20 20 20 20 3a 47 57 6f | 72 6c 64 2d 75 29 0d 0d | :GWo|rld-u)..|
|00000260| 28 65 78 70 6f 72 74 20 | 27 28 64 72 61 67 2d 72 |(export |'(drag-r|
|00000270| 65 67 69 6f 6e 20 6d 6f | 76 65 2d 72 65 67 69 6f |egion mo|ve-regio|
|00000280| 6e 29 29 0d 0d 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |n))..;;;|;;;;;;;;|
|00000290| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000002a0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000002b0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000002c0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 0d 0d 3b 3b 64 |;;;;;;;;|;;;..;;d|
|000002d0| 65 66 61 75 6c 74 20 64 | 72 61 67 20 6f 76 65 72 |efault d|rag over|
|000002e0| 20 66 75 6e 63 74 69 6f | 6e 0d 28 64 65 66 75 6e | functio|n.(defun|
|000002f0| 20 64 72 61 67 2d 6f 76 | 65 72 2d 70 20 28 29 20 | drag-ov|er-p () |
|00000300| 28 6e 6f 74 20 28 23 5f | 57 61 69 74 4d 6f 75 73 |(not (#_|WaitMous|
|00000310| 65 55 70 29 29 29 0d 0d | 3b 3b 64 65 66 61 75 6c |eUp)))..|;;defaul|
|00000320| 74 20 64 72 61 67 20 70 | 6f 73 69 74 69 6f 6e 20 |t drag p|osition |
|00000330| 66 75 6e 63 74 69 6f 6e | 0d 28 64 65 66 75 6e 20 |function|.(defun |
|00000340| 64 72 61 67 2d 63 75 72 | 2d 70 6f 73 20 28 29 0d |drag-cur|-pos ().|
|00000350| 20 20 28 72 6c 65 74 20 | 28 28 70 74 5f 70 20 3a | (rlet |((pt_p :|
|00000360| 50 6f 69 6e 74 29 29 0d | 20 20 20 20 28 23 5f 47 |Point)).| (#_G|
|00000370| 65 74 4d 6f 75 73 65 20 | 70 74 5f 70 29 0d 20 20 |etMouse |pt_p). |
|00000380| 20 20 28 23 5f 4c 6f 63 | 61 6c 54 6f 47 6c 6f 62 | (#_Loc|alToGlob|
|00000390| 61 6c 20 70 74 5f 70 29 | 0d 20 20 20 20 28 25 67 |al pt_p)|. (%g|
|000003a0| 65 74 2d 70 6f 69 6e 74 | 20 70 74 5f 70 29 29 29 |et-point| pt_p)))|
|000003b0| 0d 0d 28 64 65 66 75 6e | 20 64 72 61 67 2d 72 65 |..(defun| drag-re|
|000003c0| 67 69 6f 6e 20 28 64 72 | 61 67 2d 72 67 6e 20 73 |gion (dr|ag-rgn s|
|000003d0| 74 61 72 74 2d 70 74 0d | 20 20 20 20 20 20 20 20 |tart-pt.| |
|000003e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000003f0| 20 20 20 20 20 26 6b 65 | 79 0d 20 20 20 20 20 20 | &ke|y. |
|00000400| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000410| 20 20 20 20 20 20 20 28 | 62 6f 75 6e 64 73 2d 72 | (|bounds-r|
|00000420| 65 63 74 20 20 20 20 20 | 20 20 20 6e 69 6c 29 0d |ect | nil).|
|00000430| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000440| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 28 73 6c | | (sl|
|00000450| 6f 70 2d 72 65 63 74 20 | 20 20 20 20 20 20 20 20 |op-rect | |
|00000460| 20 6e 69 6c 29 0d 20 20 | 20 20 20 20 20 20 20 20 | nil). | |
|00000470| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000480| 20 20 20 28 64 72 61 67 | 2d 61 78 69 73 20 20 20 | (drag|-axis |
|00000490| 20 20 20 20 20 20 3a 62 | 6f 74 68 29 0d 20 20 20 | :b|oth). |
|000004a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000004b0| 20 20 20 20 20 20 20 20 | 20 20 28 61 63 74 69 6f | | (actio|
|000004c0| 6e 2d 66 6e 20 20 20 20 | 20 20 20 20 20 20 6e 69 |n-fn | ni|
|000004d0| 6c 29 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |l). | |
|000004e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000004f0| 28 65 72 61 73 65 2d 61 | 74 2d 73 74 61 72 74 2d |(erase-a|t-start-|
|00000500| 70 20 20 20 6e 69 6c 29 | 0d 20 20 20 20 20 20 20 |p nil)|. |
|00000510| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000520| 20 20 20 20 20 20 28 65 | 72 61 73 65 2d 61 74 2d | (e|rase-at-|
|00000530| 65 6e 64 2d 70 20 20 20 | 20 20 74 29 0d 20 20 20 |end-p | t). |
|00000540| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000550| 20 20 20 20 20 20 20 20 | 20 20 28 62 6f 72 64 65 | | (borde|
|00000560| 72 2d 73 69 7a 65 20 20 | 20 20 20 20 20 20 23 40 |r-size | #@|
|00000570| 28 35 30 20 35 30 29 29 | 0d 20 20 20 20 20 20 20 |(50 50))|. |
|00000580| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000590| 20 20 20 20 20 20 28 73 | 61 76 65 64 2d 62 69 74 | (s|aved-bit|
|000005a0| 73 2d 69 6e 69 74 2d 66 | 6e 20 6e 69 6c 29 0d 20 |s-init-f|n nil). |
|000005b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000005c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 28 64 72 61 | | (dra|
|000005d0| 67 2d 6f 76 65 72 2d 70 | 2d 66 6e 20 20 20 20 20 |g-over-p|-fn |
|000005e0| 23 27 64 72 61 67 2d 6f | 76 65 72 2d 70 29 0d 20 |#'drag-o|ver-p). |
|000005f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000600| 20 20 20 20 20 20 20 20 | 20 20 20 20 28 64 72 61 | | (dra|
|00000610| 67 2d 63 75 72 2d 70 6f | 73 2d 66 6e 20 20 20 20 |g-cur-po|s-fn |
|00000620| 23 27 64 72 61 67 2d 63 | 75 72 2d 70 6f 73 29 29 |#'drag-c|ur-pos))|
|00000630| 0d 20 20 28 64 65 63 6c | 61 72 65 20 28 64 79 6e |. (decl|are (dyn|
|00000640| 61 6d 69 63 2d 65 78 74 | 65 6e 74 20 64 72 61 67 |amic-ext|ent drag|
|00000650| 2d 72 67 6e 20 73 74 61 | 72 74 2d 70 74 20 62 6f |-rgn sta|rt-pt bo|
|00000660| 75 6e 64 73 2d 72 65 63 | 74 20 73 6c 6f 70 2d 72 |unds-rec|t slop-r|
|00000670| 65 63 74 20 64 72 61 67 | 2d 61 78 69 73 20 61 63 |ect drag|-axis ac|
|00000680| 74 69 6f 6e 2d 66 6e 20 | 65 72 61 73 65 2d 61 74 |tion-fn |erase-at|
|00000690| 2d 73 74 61 72 74 2d 70 | 20 65 72 61 73 65 2d 61 |-start-p| erase-a|
|000006a0| 74 2d 65 6e 64 2d 70 20 | 62 6f 72 64 65 72 2d 73 |t-end-p |border-s|
|000006b0| 69 7a 65 20 73 61 76 65 | 64 2d 62 69 74 73 2d 69 |ize save|d-bits-i|
|000006c0| 6e 69 74 2d 66 6e 29 29 | 0d 20 20 28 6c 65 74 2a |nit-fn))|. (let*|
|000006d0| 20 28 28 72 67 6e 2d 70 | 6f 73 20 20 28 68 72 65 | ((rgn-p|os (hre|
|000006e0| 66 20 64 72 61 67 2d 72 | 67 6e 20 3a 52 65 67 69 |f drag-r|gn :Regi|
|000006f0| 6f 6e 2e 72 67 6e 42 42 | 6f 78 2e 74 6f 70 4c 65 |on.rgnBB|ox.topLe|
|00000700| 66 74 29 29 0d 20 20 20 | 20 20 20 20 20 20 28 72 |ft)). | (r|
|00000710| 67 6e 2d 73 69 7a 65 20 | 28 73 75 62 74 72 61 63 |gn-size |(subtrac|
|00000720| 74 2d 70 6f 69 6e 74 73 | 20 28 68 72 65 66 20 64 |t-points| (href d|
|00000730| 72 61 67 2d 72 67 6e 20 | 3a 52 65 67 69 6f 6e 2e |rag-rgn |:Region.|
|00000740| 72 67 6e 42 42 6f 78 2e | 62 6f 74 52 69 67 68 74 |rgnBBox.|botRight|
|00000750| 29 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |). | |
|00000760| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000770| 20 20 20 20 20 20 28 68 | 72 65 66 20 64 72 61 67 | (h|ref drag|
|00000780| 2d 72 67 6e 20 3a 52 65 | 67 69 6f 6e 2e 72 67 6e |-rgn :Re|gion.rgn|
|00000790| 42 42 6f 78 2e 74 6f 70 | 4c 65 66 74 29 29 29 0d |BBox.top|Left))).|
|000007a0| 20 20 20 20 20 20 20 20 | 20 28 73 33 62 20 20 20 | | (s3b |
|000007b0| 20 20 20 28 6d 61 6b 65 | 2d 69 6e 73 74 61 6e 63 | (make|-instanc|
|000007c0| 65 20 27 73 63 72 65 65 | 6e 2d 33 62 75 66 0d 20 |e 'scree|n-3buf. |
|000007d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000007e0| 20 20 20 20 3a 73 33 62 | 75 66 2d 70 6f 73 69 74 | :s3b|uf-posit|
|000007f0| 69 6f 6e 20 28 73 75 62 | 74 72 61 63 74 2d 70 6f |ion (sub|tract-po|
|00000800| 69 6e 74 73 20 72 67 6e | 2d 70 6f 73 20 62 6f 72 |ints rgn|-pos bor|
|00000810| 64 65 72 2d 73 69 7a 65 | 29 0d 20 20 20 20 20 20 |der-size|). |
|00000820| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3a | | :|
|00000830| 73 33 62 75 66 2d 73 69 | 7a 65 20 20 20 20 20 28 |s3buf-si|ze (|
|00000840| 61 64 64 2d 70 6f 69 6e | 74 73 20 72 67 6e 2d 73 |add-poin|ts rgn-s|
|00000850| 69 7a 65 20 28 61 64 64 | 2d 70 6f 69 6e 74 73 20 |ize (add|-points |
|00000860| 62 6f 72 64 65 72 2d 73 | 69 7a 65 20 62 6f 72 64 |border-s|ize bord|
|00000870| 65 72 2d 73 69 7a 65 29 | 29 29 29 0d 20 20 20 20 |er-size)|))). |
|00000880| 20 20 20 20 20 28 63 75 | 72 2d 70 6f 73 20 73 74 | (cu|r-pos st|
|00000890| 61 72 74 2d 70 74 29 0d | 20 20 20 20 20 20 20 20 |art-pt).| |
|000008a0| 20 28 6c 61 73 74 2d 70 | 6f 73 20 73 74 61 72 74 | (last-p|os start|
|000008b0| 2d 70 74 29 0d 20 20 20 | 20 20 20 20 20 20 28 73 |-pt). | (s|
|000008c0| 33 62 2d 74 6c 20 28 73 | 33 62 75 66 2d 70 6f 73 |3b-tl (s|3buf-pos|
|000008d0| 69 74 69 6f 6e 20 73 33 | 62 29 29 0d 20 20 20 20 |ition s3|b)). |
|000008e0| 20 20 20 20 20 28 73 33 | 62 2d 62 72 20 28 61 64 | (s3|b-br (ad|
|000008f0| 64 2d 70 6f 69 6e 74 73 | 20 28 73 33 62 75 66 2d |d-points| (s3buf-|
|00000900| 70 6f 73 69 74 69 6f 6e | 20 73 33 62 29 20 28 73 |position| s3b) (s|
|00000910| 33 62 75 66 2d 73 69 7a | 65 20 73 33 62 29 29 29 |3buf-siz|e s3b)))|
|00000920| 0d 20 20 20 20 20 20 20 | 20 20 28 68 69 64 64 65 |. | (hidde|
|00000930| 6e 2d 70 20 6e 69 6c 29 | 29 0d 20 20 20 20 28 64 |n-p nil)|). (d|
|00000940| 65 63 6c 61 72 65 20 28 | 64 79 6e 61 6d 69 63 2d |eclare (|dynamic-|
|00000950| 65 78 74 65 6e 74 20 72 | 67 6e 2d 70 6f 73 20 72 |extent r|gn-pos r|
|00000960| 67 6e 2d 73 69 7a 65 20 | 73 33 62 20 6c 61 73 74 |gn-size |s3b last|
|00000970| 2d 70 6f 73 20 73 33 62 | 2d 74 6c 20 73 33 62 2d |-pos s3b|-tl s3b-|
|00000980| 62 72 20 68 69 64 64 65 | 6e 2d 70 29 29 0d 20 20 |br hidde|n-p)). |
|00000990| 20 20 0d 20 20 20 20 28 | 72 6c 65 74 20 28 28 63 | . (|rlet ((c|
|000009a0| 61 63 68 65 64 2d 72 20 | 3a 52 65 63 74 0d 20 20 |ached-r |:Rect. |
|000009b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000009c0| 20 20 20 3a 74 6f 70 4c | 65 66 74 20 20 28 61 64 | :topL|eft (ad|
|000009d0| 64 2d 70 6f 69 6e 74 73 | 20 73 33 62 2d 74 6c 20 |d-points| s3b-tl |
|000009e0| 28 73 75 62 74 72 61 63 | 74 2d 70 6f 69 6e 74 73 |(subtrac|t-points|
|000009f0| 20 73 74 61 72 74 2d 70 | 74 20 72 67 6e 2d 70 6f | start-p|t rgn-po|
|00000a00| 73 29 29 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |s)). | |
|00000a10| 20 20 20 20 20 20 20 20 | 20 3a 62 6f 74 52 69 67 | | :botRig|
|00000a20| 68 74 20 28 61 64 64 2d | 70 6f 69 6e 74 73 20 73 |ht (add-|points s|
|00000a30| 33 62 2d 62 72 20 28 73 | 75 62 74 72 61 63 74 2d |3b-br (s|ubtract-|
|00000a40| 70 6f 69 6e 74 73 20 73 | 74 61 72 74 2d 70 74 20 |points s|tart-pt |
|00000a50| 28 68 72 65 66 20 64 72 | 61 67 2d 72 67 6e 20 3a |(href dr|ag-rgn :|
|00000a60| 52 65 67 69 6f 6e 2e 72 | 67 6e 42 42 6f 78 2e 62 |Region.r|gnBBox.b|
|00000a70| 6f 74 52 69 67 68 74 29 | 29 29 29 0d 20 20 20 20 |otRight)|))). |
|00000a80| 20 20 20 20 20 20 20 28 | 62 6f 75 6e 64 73 2d 72 | (|bounds-r|
|00000a90| 20 3a 52 65 63 74 0d 20 | 20 20 20 20 20 20 20 20 | :Rect. | |
|00000aa0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3a 74 6f 70 | | :top|
|00000ab0| 4c 65 66 74 20 20 23 40 | 28 2d 33 32 37 36 37 20 |Left #@|(-32767 |
|00000ac0| 2d 33 32 37 36 37 29 0d | 20 20 20 20 20 20 20 20 |-32767).| |
|00000ad0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3a 62 6f | | :bo|
|00000ae0| 74 52 69 67 68 74 20 23 | 40 28 33 32 37 36 37 20 |tRight #|@(32767 |
|00000af0| 33 32 37 36 37 29 29 0d | 20 20 20 20 20 20 20 20 |32767)).| |
|00000b00| 20 20 20 28 73 6c 6f 70 | 2d 72 20 20 20 3a 52 65 | (slop|-r :Re|
|00000b10| 63 74 29 29 0d 20 20 20 | 20 20 20 0d 20 20 20 20 |ct)). | . |
|00000b20| 20 20 3b 73 65 74 20 75 | 70 20 74 68 65 20 62 6f | ;set u|p the bo|
|00000b30| 75 6e 64 73 20 61 6e 64 | 20 73 6c 6f 70 20 72 65 |unds and| slop re|
|00000b40| 63 74 73 0d 20 20 20 20 | 20 20 28 77 68 65 6e 20 |cts. | (when |
|00000b50| 28 70 6f 69 6e 74 65 72 | 70 20 62 6f 75 6e 64 73 |(pointer|p bounds|
|00000b60| 2d 72 65 63 74 29 20 28 | 70 73 65 74 20 62 6f 75 |-rect) (|pset bou|
|00000b70| 6e 64 73 2d 72 20 3a 52 | 65 63 74 20 62 6f 75 6e |nds-r :R|ect boun|
|00000b80| 64 73 2d 72 65 63 74 29 | 29 0d 20 20 20 20 20 20 |ds-rect)|). |
|00000b90| 28 70 73 65 74 20 73 6c | 6f 70 2d 72 20 3a 52 65 |(pset sl|op-r :Re|
|00000ba0| 63 74 20 28 69 66 20 28 | 70 6f 69 6e 74 65 72 70 |ct (if (|pointerp|
|00000bb0| 20 73 6c 6f 70 2d 72 65 | 63 74 29 20 73 6c 6f 70 | slop-re|ct) slop|
|00000bc0| 2d 72 65 63 74 20 62 6f | 75 6e 64 73 2d 72 29 29 |-rect bo|unds-r))|
|00000bd0| 0d 20 20 20 20 20 20 0d | 20 20 20 20 20 20 28 73 |. .| (s|
|00000be0| 33 62 75 66 2d 61 6c 6c | 6f 63 20 73 33 62 29 0d |3buf-all|oc s3b).|
|00000bf0| 20 20 20 20 20 20 0d 20 | 20 20 20 20 20 28 75 6e | . | (un|
|00000c00| 77 69 6e 64 2d 70 72 6f | 74 65 63 74 0d 20 20 20 |wind-pro|tect. |
|00000c10| 20 20 20 20 20 28 70 72 | 6f 67 6e 0d 20 20 20 20 | (pr|ogn. |
|00000c20| 20 20 20 20 20 20 28 77 | 68 65 6e 20 65 72 61 73 | (w|hen eras|
|00000c30| 65 2d 61 74 2d 73 74 61 | 72 74 2d 70 0d 20 20 20 |e-at-sta|rt-p. |
|00000c40| 20 20 20 20 20 20 20 20 | 20 28 65 72 61 73 65 2d | | (erase-|
|00000c50| 73 63 72 65 65 6e 2d 62 | 75 66 2d 67 57 6f 72 6c |screen-b|uf-gWorl|
|00000c60| 64 20 28 73 61 76 65 64 | 2d 47 57 2d 76 69 65 77 |d (saved|-GW-view|
|00000c70| 20 73 33 62 29 20 3a 72 | 65 67 69 6f 6e 20 64 72 | s3b) :r|egion dr|
|00000c80| 61 67 2d 72 67 6e 29 29 | 0d 0d 20 20 20 20 20 20 |ag-rgn))|.. |
|00000c90| 20 20 20 20 28 77 68 65 | 6e 20 73 61 76 65 64 2d | (whe|n saved-|
|00000ca0| 62 69 74 73 2d 69 6e 69 | 74 2d 66 6e 0d 20 20 20 |bits-ini|t-fn. |
|00000cb0| 20 20 20 20 20 20 20 20 | 20 28 66 6c 65 74 20 28 | | (flet (|
|00000cc0| 28 64 72 61 77 2d 66 6e | 20 28 73 33 62 20 72 29 |(draw-fn| (s3b r)|
|00000cd0| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00000ce0| 20 20 20 20 20 20 28 64 | 65 63 6c 61 72 65 20 28 | (d|eclare (|
|00000cf0| 69 67 6e 6f 72 65 20 73 | 33 62 29 29 0d 20 20 20 |ignore s|3b)). |
|00000d00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000d10| 20 20 28 66 75 6e 63 61 | 6c 6c 20 73 61 76 65 64 | (funca|ll saved|
|00000d20| 2d 62 69 74 73 2d 69 6e | 69 74 2d 66 6e 20 64 72 |-bits-in|it-fn dr|
|00000d30| 61 67 2d 72 67 6e 20 72 | 29 29 29 0d 20 20 20 20 |ag-rgn r|))). |
|00000d40| 20 20 20 20 20 20 20 20 | 20 20 28 64 65 63 6c 61 | | (decla|
|00000d50| 72 65 20 28 64 79 6e 61 | 6d 69 63 2d 65 78 74 65 |re (dyna|mic-exte|
|00000d60| 6e 74 20 23 27 64 72 61 | 77 2d 66 6e 29 29 0d 20 |nt #'dra|w-fn)). |
|00000d70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 28 73 33 | | (s3|
|00000d80| 62 75 66 2d 64 72 61 77 | 2d 74 6f 2d 73 61 76 65 |buf-draw|-to-save|
|00000d90| 64 20 73 33 62 20 23 27 | 64 72 61 77 2d 66 6e 29 |d s3b #'|draw-fn)|
|00000da0| 29 29 0d 20 20 20 20 20 | 20 20 20 20 20 0d 20 20 |)). | . |
|00000db0| 20 20 20 20 20 20 20 20 | 28 6c 6f 6f 70 0d 20 20 | |(loop. |
|00000dc0| 20 20 20 20 20 20 20 20 | 20 20 28 77 68 65 6e 20 | | (when |
|00000dd0| 28 66 75 6e 63 61 6c 6c | 20 64 72 61 67 2d 6f 76 |(funcall| drag-ov|
|00000de0| 65 72 2d 70 2d 66 6e 29 | 20 28 72 65 74 75 72 6e |er-p-fn)| (return|
|00000df0| 20 28 76 61 6c 75 65 73 | 20 28 73 75 62 74 72 61 | (values| (subtra|
|00000e00| 63 74 2d 70 6f 69 6e 74 | 73 20 63 75 72 2d 70 6f |ct-point|s cur-po|
|00000e10| 73 20 73 74 61 72 74 2d | 70 74 29 20 63 75 72 2d |s start-|pt) cur-|
|00000e20| 70 6f 73 29 29 29 0d 20 | 20 20 20 20 20 20 20 20 |pos))). | |
|00000e30| 20 20 20 28 77 68 65 6e | 20 61 63 74 69 6f 6e 2d | (when| action-|
|00000e40| 66 6e 20 28 66 75 6e 63 | 61 6c 6c 20 61 63 74 69 |fn (func|all acti|
|00000e50| 6f 6e 2d 66 6e 29 29 0d | 20 20 20 20 20 20 20 20 |on-fn)).| |
|00000e60| 20 20 20 20 28 73 65 74 | 66 20 63 75 72 2d 70 6f | (set|f cur-po|
|00000e70| 73 20 28 65 63 61 73 65 | 20 64 72 61 67 2d 61 78 |s (ecase| drag-ax|
|00000e80| 69 73 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |is. | |
|00000e90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 28 | | (|
|00000ea0| 3a 62 6f 74 68 20 28 66 | 75 6e 63 61 6c 6c 20 64 |:both (f|uncall d|
|00000eb0| 72 61 67 2d 63 75 72 2d | 70 6f 73 2d 66 6e 29 29 |rag-cur-|pos-fn))|
|00000ec0| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00000ed0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 28 3a 76 | | (:v|
|00000ee0| 65 72 74 69 63 61 6c 20 | 20 20 28 6d 61 6b 65 2d |ertical | (make-|
|00000ef0| 70 6f 69 6e 74 20 28 70 | 6f 69 6e 74 2d 68 20 73 |point (p|oint-h s|
|00000f00| 74 61 72 74 2d 70 74 29 | 0d 20 20 20 20 20 20 20 |tart-pt)|. |
|00000f10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000f20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000f30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 28 70 | | (p|
|00000f40| 6f 69 6e 74 2d 76 20 28 | 66 75 6e 63 61 6c 6c 20 |oint-v (|funcall |
|00000f50| 64 72 61 67 2d 63 75 72 | 2d 70 6f 73 2d 66 6e 29 |drag-cur|-pos-fn)|
|00000f60| 29 29 29 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |))). | |
|00000f70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000f80| 28 3a 68 6f 72 69 7a 6f | 6e 74 61 6c 20 28 6d 61 |(:horizo|ntal (ma|
|00000f90| 6b 65 2d 70 6f 69 6e 74 | 20 28 70 6f 69 6e 74 2d |ke-point| (point-|
|00000fa0| 68 20 28 66 75 6e 63 61 | 6c 6c 20 64 72 61 67 2d |h (funca|ll drag-|
|00000fb0| 63 75 72 2d 70 6f 73 2d | 66 6e 29 29 0d 20 20 20 |cur-pos-|fn)). |
|00000fc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000fd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000fe0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000ff0| 20 20 28 70 6f 69 6e 74 | 2d 68 20 73 74 61 72 74 | (point|-h start|
|00001000| 2d 70 74 29 29 29 29 29 | 0d 20 20 20 20 20 20 20 |-pt)))))|. |
|00001010| 20 20 20 20 20 28 69 66 | 20 28 23 5f 50 74 49 6e | (if| (#_PtIn|
|00001020| 52 65 63 74 20 63 75 72 | 2d 70 6f 73 20 73 6c 6f |Rect cur|-pos slo|
|00001030| 70 2d 72 29 0d 20 20 20 | 20 20 20 20 20 20 20 20 |p-r). | |
|00001040| 20 20 20 28 75 6e 6c 65 | 73 73 20 28 65 71 6c 20 | (unle|ss (eql |
|00001050| 63 75 72 2d 70 6f 73 20 | 6c 61 73 74 2d 70 6f 73 |cur-pos |last-pos|
|00001060| 29 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |). | |
|00001070| 20 20 28 6c 65 74 20 28 | 28 64 65 6c 74 61 2d 72 | (let (|(delta-r|
|00001080| 67 6e 2d 70 6f 73 20 28 | 73 75 62 74 72 61 63 74 |gn-pos (|subtract|
|00001090| 2d 70 6f 69 6e 74 73 20 | 28 73 65 74 66 20 63 75 |-points |(setf cu|
|000010a0| 72 2d 70 6f 73 20 28 23 | 5f 50 69 6e 52 65 63 74 |r-pos (#|_PinRect|
|000010b0| 20 62 6f 75 6e 64 73 2d | 72 20 63 75 72 2d 70 6f | bounds-|r cur-po|
|000010c0| 73 29 29 20 6c 61 73 74 | 2d 70 6f 73 29 29 29 0d |s)) last|-pos))).|
|000010d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000010e0| 20 20 28 64 65 63 6c 61 | 72 65 20 28 64 79 6e 61 | (decla|re (dyna|
|000010f0| 6d 69 63 2d 65 78 74 65 | 6e 74 20 64 65 6c 74 61 |mic-exte|nt delta|
|00001100| 2d 72 67 6e 2d 70 6f 73 | 29 29 0d 20 20 20 20 20 |-rgn-pos|)). |
|00001110| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 28 73 65 | | (se|
|00001120| 74 66 20 68 69 64 64 65 | 6e 2d 70 20 6e 69 6c 29 |tf hidde|n-p nil)|
|00001130| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00001140| 20 20 20 28 73 65 74 66 | 20 72 67 6e 2d 70 6f 73 | (setf| rgn-pos|
|00001150| 20 28 61 64 64 2d 70 6f | 69 6e 74 73 20 72 67 6e | (add-po|ints rgn|
|00001160| 2d 70 6f 73 20 64 65 6c | 74 61 2d 72 67 6e 2d 70 |-pos del|ta-rgn-p|
|00001170| 6f 73 29 29 0d 20 20 20 | 20 20 20 20 20 20 20 20 |os)). | |
|00001180| 20 20 20 20 20 20 20 28 | 69 66 20 28 23 5f 50 74 | (|if (#_Pt|
|00001190| 49 6e 52 65 63 74 20 63 | 75 72 2d 70 6f 73 20 63 |InRect c|ur-pos c|
|000011a0| 61 63 68 65 64 2d 72 29 | 0d 20 20 20 20 20 20 20 |ached-r)|. |
|000011b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 28 73 33 | | (s3|
|000011c0| 62 75 66 2d 72 65 70 6f | 73 69 74 69 6f 6e 20 73 |buf-repo|sition s|
|000011d0| 33 62 20 73 33 62 2d 74 | 6c 20 73 33 62 2d 62 72 |3b s3b-t|l s3b-br|
|000011e0| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000011f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001200| 20 20 20 20 20 20 20 3a | 72 65 73 74 6f 72 65 2d | :|restore-|
|00001210| 6f 6c 64 2d 72 67 6e 2d | 70 20 6e 69 6c 0d 20 20 |old-rgn-|p nil. |
|00001220| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001230| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001240| 20 20 20 20 3a 73 61 76 | 65 64 2d 78 66 65 72 2d | :sav|ed-xfer-|
|00001250| 6d 6f 64 65 20 20 3a 6e | 6f 6e 65 0d 20 20 20 20 |mode :n|one. |
|00001260| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001270| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001280| 20 20 3a 69 6d 61 67 65 | 2d 78 66 65 72 2d 6d 6f | :image|-xfer-mo|
|00001290| 64 65 20 20 3a 6d 6f 76 | 65 0d 20 20 20 20 20 20 |de :mov|e. |
|000012a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000012b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000012c0| 3a 69 6d 61 67 65 2d 73 | 75 62 2d 72 67 6e 20 20 |:image-s|ub-rgn |
|000012d0| 20 20 20 64 72 61 67 2d | 72 67 6e 0d 20 20 20 20 | drag-|rgn. |
|000012e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000012f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001300| 20 20 3a 73 75 62 2d 72 | 67 6e 2d 6e 65 77 2d 70 | :sub-r|gn-new-p|
|00001310| 6f 73 20 20 20 72 67 6e | 2d 70 6f 73 29 0d 20 20 |os rgn|-pos). |
|00001320| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001330| 20 20 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | . | |
|00001340| 20 20 20 20 20 20 20 28 | 6c 65 74 20 28 28 64 65 | (|let ((de|
|00001350| 6c 74 61 2d 62 75 66 2d | 70 6f 73 20 28 73 75 62 |lta-buf-|pos (sub|
|00001360| 74 72 61 63 74 2d 70 6f | 69 6e 74 73 20 28 73 75 |tract-po|ints (su|
|00001370| 62 74 72 61 63 74 2d 70 | 6f 69 6e 74 73 20 72 67 |btract-p|oints rg|
|00001380| 6e 2d 70 6f 73 20 62 6f | 72 64 65 72 2d 73 69 7a |n-pos bo|rder-siz|
|00001390| 65 29 20 73 33 62 2d 74 | 6c 29 29 29 0d 20 20 20 |e) s3b-t|l))). |
|000013a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000013b0| 20 20 20 28 64 65 63 6c | 61 72 65 20 28 64 79 6e | (decl|are (dyn|
|000013c0| 61 6d 69 63 2d 65 78 74 | 65 6e 74 20 64 65 6c 74 |amic-ext|ent delt|
|000013d0| 61 2d 62 75 66 2d 70 6f | 73 29 29 0d 20 20 20 20 |a-buf-po|s)). |
|000013e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000013f0| 20 20 28 73 65 74 66 20 | 73 33 62 2d 74 6c 20 28 | (setf |s3b-tl (|
|00001400| 61 64 64 2d 70 6f 69 6e | 74 73 20 73 33 62 2d 74 |add-poin|ts s3b-t|
|00001410| 6c 20 64 65 6c 74 61 2d | 62 75 66 2d 70 6f 73 29 |l delta-|buf-pos)|
|00001420| 29 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |). | |
|00001430| 20 20 20 20 20 20 20 20 | 28 73 65 74 66 20 73 33 | |(setf s3|
|00001440| 62 2d 62 72 20 28 61 64 | 64 2d 70 6f 69 6e 74 73 |b-br (ad|d-points|
|00001450| 20 73 33 62 2d 62 72 20 | 64 65 6c 74 61 2d 62 75 | s3b-br |delta-bu|
|00001460| 66 2d 70 6f 73 29 29 0d | 20 20 20 20 20 20 20 20 |f-pos)).| |
|00001470| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 28 73 | | (s|
|00001480| 33 62 75 66 2d 72 65 70 | 6f 73 69 74 69 6f 6e 20 |3buf-rep|osition |
|00001490| 73 33 62 20 73 33 62 2d | 74 6c 20 73 33 62 2d 62 |s3b s3b-|tl s3b-b|
|000014a0| 72 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |r. | |
|000014b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000014c0| 20 20 20 20 20 20 20 20 | 20 20 3a 72 65 73 74 6f | | :resto|
|000014d0| 72 65 2d 6f 6c 64 2d 72 | 67 6e 2d 70 20 74 0d 20 |re-old-r|gn-p t. |
|000014e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000014f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001500| 20 20 20 20 20 20 20 3a | 73 61 76 65 64 2d 78 66 | :|saved-xf|
|00001510| 65 72 2d 6d 6f 64 65 20 | 20 3a 73 6c 69 70 0d 20 |er-mode | :slip. |
|00001520| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001530| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001540| 20 20 20 20 20 20 20 3a | 69 6d 61 67 65 2d 73 75 | :|image-su|
|00001550| 62 2d 72 67 6e 20 20 20 | 20 20 64 72 61 67 2d 72 |b-rgn | drag-r|
|00001560| 67 6e 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |gn. | |
|00001570| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001580| 20 20 20 20 20 20 20 20 | 20 20 20 3a 73 75 62 2d | | :sub-|
|00001590| 72 67 6e 2d 6e 65 77 2d | 70 6f 73 20 20 20 72 67 |rgn-new-|pos rg|
|000015a0| 6e 2d 70 6f 73 29 0d 20 | 20 20 20 20 20 20 20 20 |n-pos). | |
|000015b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 28 23 5f | | (#_|
|000015c0| 4f 66 66 73 65 74 52 65 | 63 74 20 3a 70 6f 69 6e |OffsetRe|ct :poin|
|000015d0| 74 65 72 20 63 61 63 68 | 65 64 2d 72 20 3a 6c 6f |ter cach|ed-r :lo|
|000015e0| 6e 67 20 64 65 6c 74 61 | 2d 62 75 66 2d 70 6f 73 |ng delta|-buf-pos|
|000015f0| 29 29 29 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |))). | |
|00001600| 20 20 20 20 20 20 28 73 | 65 74 66 20 6c 61 73 74 | (s|etf last|
|00001610| 2d 70 6f 73 20 63 75 72 | 2d 70 6f 73 29 0d 20 20 |-pos cur|-pos). |
|00001620| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001630| 28 73 33 62 75 66 2d 69 | 6d 61 67 65 2d 74 6f 2d |(s3buf-i|mage-to-|
|00001640| 73 63 72 65 65 6e 20 73 | 33 62 29 29 29 0d 20 20 |screen s|3b))). |
|00001650| 20 20 20 20 20 20 20 20 | 20 20 20 20 28 75 6e 6c | | (unl|
|00001660| 65 73 73 20 68 69 64 64 | 65 6e 2d 70 0d 20 20 20 |ess hidd|en-p. |
|00001670| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 28 73 65 | | (se|
|00001680| 74 66 20 68 69 64 64 65 | 6e 2d 70 20 74 29 0d 20 |tf hidde|n-p t). |
|00001690| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 28 | | (|
|000016a0| 73 33 62 75 66 2d 73 61 | 76 65 64 2d 74 6f 2d 73 |s3buf-sa|ved-to-s|
|000016b0| 63 72 65 65 6e 20 73 33 | 62 29 29 29 29 29 0d 20 |creen s3|b))))). |
|000016c0| 20 20 20 20 20 20 20 28 | 77 68 65 6e 20 65 72 61 | (|when era|
|000016d0| 73 65 2d 61 74 2d 65 6e | 64 2d 70 20 28 73 33 62 |se-at-en|d-p (s3b|
|000016e0| 75 66 2d 73 61 76 65 64 | 2d 74 6f 2d 73 63 72 65 |uf-saved|-to-scre|
|000016f0| 65 6e 20 73 33 62 29 29 | 0d 20 20 20 20 20 20 20 |en s3b))|. |
|00001700| 20 28 73 33 62 75 66 2d | 64 69 73 70 6f 73 65 20 | (s3buf-|dispose |
|00001710| 73 33 62 29 29 29 29 29 | 0d 0d 0d 0d 0d 3b 3b 3b |s3b)))))|.....;;;|
|00001720| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00001730| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00001740| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00001750| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00001760| 3b 3b 3b 0d 0d 0d 28 64 | 65 66 75 6e 20 6d 6f 76 |;;;...(d|efun mov|
|00001770| 65 2d 72 65 67 69 6f 6e | 20 28 74 68 65 2d 72 67 |e-region| (the-rg|
|00001780| 6e 20 70 6f 69 6e 74 2d | 6c 69 73 74 0d 20 20 20 |n point-|list. |
|00001790| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000017a0| 20 20 20 20 20 20 20 20 | 26 6b 65 79 0d 20 20 20 | |&key. |
|000017b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000017c0| 20 20 20 20 20 20 20 20 | 28 65 72 61 73 65 2d 61 | |(erase-a|
|000017d0| 74 2d 73 74 61 72 74 2d | 70 20 6e 69 6c 29 0d 20 |t-start-|p nil). |
|000017e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000017f0| 20 20 20 20 20 20 20 20 | 20 20 28 65 72 61 73 65 | | (erase|
|00001800| 2d 61 74 2d 65 6e 64 2d | 70 20 74 29 0d 20 20 20 |-at-end-|p t). |
|00001810| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001820| 20 20 20 20 20 20 20 20 | 28 62 6f 72 64 65 72 2d | |(border-|
|00001830| 73 69 7a 65 20 23 40 28 | 35 30 20 35 30 29 29 0d |size #@(|50 50)).|
|00001840| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001850| 20 20 20 20 20 20 20 20 | 20 20 20 28 73 61 76 65 | | (save|
|00001860| 64 2d 62 69 74 73 2d 69 | 6e 69 74 2d 66 6e 20 6e |d-bits-i|nit-fn n|
|00001870| 69 6c 29 29 0d 20 20 28 | 64 65 63 6c 61 72 65 20 |il)). (|declare |
|00001880| 28 64 79 6e 61 6d 69 63 | 2d 65 78 74 65 6e 74 20 |(dynamic|-extent |
|00001890| 74 68 65 2d 72 67 6e 20 | 70 6f 69 6e 74 2d 6c 69 |the-rgn |point-li|
|000018a0| 73 74 20 65 72 61 73 65 | 2d 61 74 2d 73 74 61 72 |st erase|-at-star|
|000018b0| 74 2d 70 20 65 72 61 73 | 65 2d 61 74 2d 65 6e 64 |t-p eras|e-at-end|
|000018c0| 2d 70 20 62 6f 72 64 65 | 72 2d 73 69 7a 65 20 73 |-p borde|r-size s|
|000018d0| 61 76 65 64 2d 62 69 74 | 73 2d 69 6e 69 74 2d 66 |aved-bit|s-init-f|
|000018e0| 6e 29 29 0d 20 20 28 6c | 65 74 2a 20 28 28 72 67 |n)). (l|et* ((rg|
|000018f0| 6e 2d 70 6f 73 20 20 28 | 68 72 65 66 20 74 68 65 |n-pos (|href the|
|00001900| 2d 72 67 6e 20 3a 52 65 | 67 69 6f 6e 2e 72 67 6e |-rgn :Re|gion.rgn|
|00001910| 42 42 6f 78 2e 74 6f 70 | 4c 65 66 74 29 29 0d 20 |BBox.top|Left)). |
|00001920| 20 20 20 20 20 20 20 20 | 28 72 67 6e 2d 73 69 7a | |(rgn-siz|
|00001930| 65 20 28 73 75 62 74 72 | 61 63 74 2d 70 6f 69 6e |e (subtr|act-poin|
|00001940| 74 73 20 28 68 72 65 66 | 20 74 68 65 2d 72 67 6e |ts (href| the-rgn|
|00001950| 20 3a 52 65 67 69 6f 6e | 2e 72 67 6e 42 42 6f 78 | :Region|.rgnBBox|
|00001960| 2e 62 6f 74 52 69 67 68 | 74 29 0d 20 20 20 20 20 |.botRigh|t). |
|00001970| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001980| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 28 | | (|
|00001990| 68 72 65 66 20 74 68 65 | 2d 72 67 6e 20 3a 52 65 |href the|-rgn :Re|
|000019a0| 67 69 6f 6e 2e 72 67 6e | 42 42 6f 78 2e 74 6f 70 |gion.rgn|BBox.top|
|000019b0| 4c 65 66 74 29 29 29 0d | 20 20 20 20 20 20 20 20 |Left))).| |
|000019c0| 20 28 73 33 62 20 28 6d | 61 6b 65 2d 69 6e 73 74 | (s3b (m|ake-inst|
|000019d0| 61 6e 63 65 20 27 73 63 | 72 65 65 6e 2d 33 62 75 |ance 'sc|reen-3bu|
|000019e0| 66 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |f. | |
|000019f0| 20 20 3a 73 33 62 75 66 | 2d 70 6f 73 69 74 69 6f | :s3buf|-positio|
|00001a00| 6e 20 28 73 75 62 74 72 | 61 63 74 2d 70 6f 69 6e |n (subtr|act-poin|
|00001a10| 74 73 20 72 67 6e 2d 70 | 6f 73 20 62 6f 72 64 65 |ts rgn-p|os borde|
|00001a20| 72 2d 73 69 7a 65 29 0d | 20 20 20 20 20 20 20 20 |r-size).| |
|00001a30| 20 20 20 20 20 20 20 20 | 3a 73 33 62 75 66 2d 73 | |:s3buf-s|
|00001a40| 69 7a 65 20 20 20 20 20 | 28 61 64 64 2d 70 6f 69 |ize |(add-poi|
|00001a50| 6e 74 73 20 72 67 6e 2d | 73 69 7a 65 20 28 61 64 |nts rgn-|size (ad|
|00001a60| 64 2d 70 6f 69 6e 74 73 | 20 62 6f 72 64 65 72 2d |d-points| border-|
|00001a70| 73 69 7a 65 20 62 6f 72 | 64 65 72 2d 73 69 7a 65 |size bor|der-size|
|00001a80| 29 29 29 29 0d 20 20 20 | 20 20 20 20 20 20 28 73 |)))). | (s|
|00001a90| 74 61 72 74 2d 70 74 20 | 28 66 69 72 73 74 20 70 |tart-pt |(first p|
|00001aa0| 6f 69 6e 74 2d 6c 69 73 | 74 29 29 0d 20 20 20 20 |oint-lis|t)). |
|00001ab0| 20 20 20 20 20 28 6c 61 | 73 74 2d 70 6f 73 20 73 | (la|st-pos s|
|00001ac0| 74 61 72 74 2d 70 74 29 | 0d 20 20 20 20 20 20 20 |tart-pt)|. |
|00001ad0| 20 20 28 73 33 62 2d 74 | 6c 20 28 73 33 62 75 66 | (s3b-t|l (s3buf|
|00001ae0| 2d 70 6f 73 69 74 69 6f | 6e 20 73 33 62 29 29 0d |-positio|n s3b)).|
|00001af0| 20 20 20 20 20 20 20 20 | 20 28 73 33 62 2d 62 72 | | (s3b-br|
|00001b00| 20 28 61 64 64 2d 70 6f | 69 6e 74 73 20 28 73 33 | (add-po|ints (s3|
|00001b10| 62 75 66 2d 70 6f 73 69 | 74 69 6f 6e 20 73 33 62 |buf-posi|tion s3b|
|00001b20| 29 20 28 73 33 62 75 66 | 2d 73 69 7a 65 20 73 33 |) (s3buf|-size s3|
|00001b30| 62 29 29 29 29 0d 20 20 | 20 20 28 64 65 63 6c 61 |b)))). | (decla|
|00001b40| 72 65 20 28 64 79 6e 61 | 6d 69 63 2d 65 78 74 65 |re (dyna|mic-exte|
|00001b50| 6e 74 20 72 67 6e 2d 70 | 6f 73 20 72 67 6e 2d 73 |nt rgn-p|os rgn-s|
|00001b60| 69 7a 65 20 73 33 62 20 | 6c 61 73 74 2d 70 6f 73 |ize s3b |last-pos|
|00001b70| 20 73 33 62 2d 74 6c 20 | 73 33 62 2d 62 72 29 29 | s3b-tl |s3b-br))|
|00001b80| 0d 20 20 20 20 28 72 6c | 65 74 20 28 28 63 61 63 |. (rl|et ((cac|
|00001b90| 68 65 64 2d 72 20 3a 52 | 65 63 74 0d 20 20 20 20 |hed-r :R|ect. |
|00001ba0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001bb0| 20 3a 74 6f 70 4c 65 66 | 74 20 20 28 61 64 64 2d | :topLef|t (add-|
|00001bc0| 70 6f 69 6e 74 73 20 73 | 33 62 2d 74 6c 20 28 73 |points s|3b-tl (s|
|00001bd0| 75 62 74 72 61 63 74 2d | 70 6f 69 6e 74 73 20 6c |ubtract-|points l|
|00001be0| 61 73 74 2d 70 6f 73 20 | 72 67 6e 2d 70 6f 73 29 |ast-pos |rgn-pos)|
|00001bf0| 29 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |). | |
|00001c00| 20 20 20 20 20 20 20 3a | 62 6f 74 52 69 67 68 74 | :|botRight|
|00001c10| 20 28 61 64 64 2d 70 6f | 69 6e 74 73 20 73 33 62 | (add-po|ints s3b|
|00001c20| 2d 62 72 20 28 73 75 62 | 74 72 61 63 74 2d 70 6f |-br (sub|tract-po|
|00001c30| 69 6e 74 73 20 6c 61 73 | 74 2d 70 6f 73 20 28 68 |ints las|t-pos (h|
|00001c40| 72 65 66 20 74 68 65 2d | 72 67 6e 20 3a 52 65 67 |ref the-|rgn :Reg|
|00001c50| 69 6f 6e 2e 72 67 6e 42 | 42 6f 78 2e 62 6f 74 52 |ion.rgnB|Box.botR|
|00001c60| 69 67 68 74 29 29 29 29 | 29 0d 20 20 20 20 20 20 |ight))))|). |
|00001c70| 0d 20 20 20 20 20 20 28 | 73 33 62 75 66 2d 61 6c |. (|s3buf-al|
|00001c80| 6c 6f 63 20 73 33 62 29 | 0d 20 20 20 20 20 20 0d |loc s3b)|. .|
|00001c90| 20 20 20 20 20 20 28 75 | 6e 77 69 6e 64 2d 70 72 | (u|nwind-pr|
|00001ca0| 6f 74 65 63 74 0d 20 20 | 20 20 20 20 20 20 28 70 |otect. | (p|
|00001cb0| 72 6f 67 6e 0d 20 20 20 | 20 20 20 20 20 20 20 28 |rogn. | (|
|00001cc0| 77 68 65 6e 20 65 72 61 | 73 65 2d 61 74 2d 73 74 |when era|se-at-st|
|00001cd0| 61 72 74 2d 70 0d 20 20 | 20 20 20 20 20 20 20 20 |art-p. | |
|00001ce0| 20 20 28 65 72 61 73 65 | 2d 73 63 72 65 65 6e 2d | (erase|-screen-|
|00001cf0| 62 75 66 2d 67 57 6f 72 | 6c 64 20 28 73 61 76 65 |buf-gWor|ld (save|
|00001d00| 64 2d 47 57 2d 76 69 65 | 77 20 73 33 62 29 20 3a |d-GW-vie|w s3b) :|
|00001d10| 72 65 67 69 6f 6e 20 74 | 68 65 2d 72 67 6e 29 29 |region t|he-rgn))|
|00001d20| 0d 0d 20 20 20 20 20 20 | 20 20 20 20 28 77 68 65 |.. | (whe|
|00001d30| 6e 20 73 61 76 65 64 2d | 62 69 74 73 2d 69 6e 69 |n saved-|bits-ini|
|00001d40| 74 2d 66 6e 0d 20 20 20 | 20 20 20 20 20 20 20 20 |t-fn. | |
|00001d50| 20 28 66 6c 65 74 20 28 | 28 64 72 61 77 2d 66 6e | (flet (|(draw-fn|
|00001d60| 20 28 73 33 62 20 72 29 | 0d 20 20 20 20 20 20 20 | (s3b r)|. |
|00001d70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 28 64 | | (d|
|00001d80| 65 63 6c 61 72 65 20 28 | 69 67 6e 6f 72 65 20 73 |eclare (|ignore s|
|00001d90| 33 62 29 29 0d 20 20 20 | 20 20 20 20 20 20 20 20 |3b)). | |
|00001da0| 20 20 20 20 20 20 20 20 | 20 20 28 66 75 6e 63 61 | | (funca|
|00001db0| 6c 6c 20 73 61 76 65 64 | 2d 62 69 74 73 2d 69 6e |ll saved|-bits-in|
|00001dc0| 69 74 2d 66 6e 20 74 68 | 65 2d 72 67 6e 20 72 29 |it-fn th|e-rgn r)|
|00001dd0| 29 29 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |)). | |
|00001de0| 20 28 64 65 63 6c 61 72 | 65 20 28 64 79 6e 61 6d | (declar|e (dynam|
|00001df0| 69 63 2d 65 78 74 65 6e | 74 20 23 27 64 72 61 77 |ic-exten|t #'draw|
|00001e00| 2d 66 6e 29 29 0d 20 20 | 20 20 20 20 20 20 20 20 |-fn)). | |
|00001e10| 20 20 20 20 28 73 33 62 | 75 66 2d 64 72 61 77 2d | (s3b|uf-draw-|
|00001e20| 74 6f 2d 73 61 76 65 64 | 20 73 33 62 20 23 27 64 |to-saved| s3b #'d|
|00001e30| 72 61 77 2d 66 6e 29 29 | 29 0d 20 20 20 20 20 20 |raw-fn))|). |
|00001e40| 20 20 20 20 0d 20 20 20 | 20 20 20 20 20 20 20 28 | . | (|
|00001e50| 64 6f 6c 69 73 74 20 28 | 63 75 72 2d 70 6f 73 20 |dolist (|cur-pos |
|00001e60| 70 6f 69 6e 74 2d 6c 69 | 73 74 20 28 76 61 6c 75 |point-li|st (valu|
|00001e70| 65 73 20 28 73 75 62 74 | 72 61 63 74 2d 70 6f 69 |es (subt|ract-poi|
|00001e80| 6e 74 73 20 6c 61 73 74 | 2d 70 6f 73 20 73 74 61 |nts last|-pos sta|
|00001e90| 72 74 2d 70 74 29 20 6c | 61 73 74 2d 70 6f 73 29 |rt-pt) l|ast-pos)|
|00001ea0| 29 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 28 73 |). | (s|
|00001eb0| 65 74 66 20 72 67 6e 2d | 70 6f 73 20 28 61 64 64 |etf rgn-|pos (add|
|00001ec0| 2d 70 6f 69 6e 74 73 20 | 72 67 6e 2d 70 6f 73 20 |-points |rgn-pos |
|00001ed0| 28 73 75 62 74 72 61 63 | 74 2d 70 6f 69 6e 74 73 |(subtrac|t-points|
|00001ee0| 20 63 75 72 2d 70 6f 73 | 20 6c 61 73 74 2d 70 6f | cur-pos| last-po|
|00001ef0| 73 29 29 29 0d 20 20 20 | 20 20 20 20 20 20 20 20 |s))). | |
|00001f00| 20 28 69 66 20 28 23 5f | 50 74 49 6e 52 65 63 74 | (if (#_|PtInRect|
|00001f10| 20 63 75 72 2d 70 6f 73 | 20 63 61 63 68 65 64 2d | cur-pos| cached-|
|00001f20| 72 29 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |r). | |
|00001f30| 20 28 73 33 62 75 66 2d | 72 65 70 6f 73 69 74 69 | (s3buf-|repositi|
|00001f40| 6f 6e 20 73 33 62 20 73 | 33 62 2d 74 6c 20 73 33 |on s3b s|3b-tl s3|
|00001f50| 62 2d 62 72 0d 20 20 20 | 20 20 20 20 20 20 20 20 |b-br. | |
|00001f60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001f70| 20 20 20 20 20 3a 72 65 | 73 74 6f 72 65 2d 6f 6c | :re|store-ol|
|00001f80| 64 2d 72 67 6e 2d 70 20 | 6e 69 6c 0d 20 20 20 20 |d-rgn-p |nil. |
|00001f90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001fa0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3a 73 61 76 | | :sav|
|00001fb0| 65 64 2d 78 66 65 72 2d | 6d 6f 64 65 20 20 3a 6e |ed-xfer-|mode :n|
|00001fc0| 6f 6e 65 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |one. | |
|00001fd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001fe0| 20 20 20 20 3a 69 6d 61 | 67 65 2d 78 66 65 72 2d | :ima|ge-xfer-|
|00001ff0| 6d 6f 64 65 20 20 3a 6d | 6f 76 65 0d 20 20 20 20 |mode :m|ove. |
|00002000| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002010| 20 20 20 20 20 20 20 20 | 20 20 20 20 3a 69 6d 61 | | :ima|
|00002020| 67 65 2d 73 75 62 2d 72 | 67 6e 20 20 20 20 20 74 |ge-sub-r|gn t|
|00002030| 68 65 2d 72 67 6e 0d 20 | 20 20 20 20 20 20 20 20 |he-rgn. | |
|00002040| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002050| 20 20 20 20 20 20 20 3a | 73 75 62 2d 72 67 6e 2d | :|sub-rgn-|
|00002060| 6e 65 77 2d 70 6f 73 20 | 72 67 6e 2d 70 6f 73 29 |new-pos |rgn-pos)|
|00002070| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 28 |. | (|
|00002080| 6c 65 74 20 28 28 64 65 | 6c 74 61 2d 62 75 66 2d |let ((de|lta-buf-|
|00002090| 70 6f 73 20 28 73 75 62 | 74 72 61 63 74 2d 70 6f |pos (sub|tract-po|
|000020a0| 69 6e 74 73 20 28 73 75 | 62 74 72 61 63 74 2d 70 |ints (su|btract-p|
|000020b0| 6f 69 6e 74 73 20 72 67 | 6e 2d 70 6f 73 20 62 6f |oints rg|n-pos bo|
|000020c0| 72 64 65 72 2d 73 69 7a | 65 29 20 73 33 62 2d 74 |rder-siz|e) s3b-t|
|000020d0| 6c 29 29 29 0d 20 20 20 | 20 20 20 20 20 20 20 20 |l))). | |
|000020e0| 20 20 20 20 20 28 64 65 | 63 6c 61 72 65 20 28 64 | (de|clare (d|
|000020f0| 79 6e 61 6d 69 63 2d 65 | 78 74 65 6e 74 20 64 65 |ynamic-e|xtent de|
|00002100| 6c 74 61 2d 62 75 66 2d | 70 6f 73 29 29 0d 20 20 |lta-buf-|pos)). |
|00002110| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 28 73 | | (s|
|00002120| 65 74 66 20 73 33 62 2d | 74 6c 20 28 61 64 64 2d |etf s3b-|tl (add-|
|00002130| 70 6f 69 6e 74 73 20 73 | 33 62 2d 74 6c 20 64 65 |points s|3b-tl de|
|00002140| 6c 74 61 2d 62 75 66 2d | 70 6f 73 29 29 0d 20 20 |lta-buf-|pos)). |
|00002150| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 28 73 | | (s|
|00002160| 65 74 66 20 73 33 62 2d | 62 72 20 28 61 64 64 2d |etf s3b-|br (add-|
|00002170| 70 6f 69 6e 74 73 20 73 | 33 62 2d 62 72 20 64 65 |points s|3b-br de|
|00002180| 6c 74 61 2d 62 75 66 2d | 70 6f 73 29 29 0d 20 20 |lta-buf-|pos)). |
|00002190| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 28 73 | | (s|
|000021a0| 33 62 75 66 2d 72 65 70 | 6f 73 69 74 69 6f 6e 20 |3buf-rep|osition |
|000021b0| 73 33 62 20 73 33 62 2d | 74 6c 20 73 33 62 2d 62 |s3b s3b-|tl s3b-b|
|000021c0| 72 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |r. | |
|000021d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000021e0| 20 20 20 20 3a 72 65 73 | 74 6f 72 65 2d 6f 6c 64 | :res|tore-old|
|000021f0| 2d 72 67 6e 2d 70 20 74 | 0d 20 20 20 20 20 20 20 |-rgn-p t|. |
|00002200| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002210| 20 20 20 20 20 20 20 20 | 20 20 20 3a 73 61 76 65 | | :save|
|00002220| 64 2d 78 66 65 72 2d 6d | 6f 64 65 20 20 3a 73 6c |d-xfer-m|ode :sl|
|00002230| 69 70 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ip. | |
|00002240| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002250| 20 20 20 20 20 3a 69 6d | 61 67 65 2d 73 75 62 2d | :im|age-sub-|
|00002260| 72 67 6e 20 20 20 20 20 | 74 68 65 2d 72 67 6e 0d |rgn |the-rgn.|
|00002270| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002280| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002290| 20 20 3a 73 75 62 2d 72 | 67 6e 2d 6e 65 77 2d 70 | :sub-r|gn-new-p|
|000022a0| 6f 73 20 20 20 72 67 6e | 2d 70 6f 73 29 0d 20 20 |os rgn|-pos). |
|000022b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 28 23 | | (#|
|000022c0| 5f 4f 66 66 73 65 74 52 | 65 63 74 20 3a 70 6f 69 |_OffsetR|ect :poi|
|000022d0| 6e 74 65 72 20 63 61 63 | 68 65 64 2d 72 20 3a 6c |nter cac|hed-r :l|
|000022e0| 6f 6e 67 20 64 65 6c 74 | 61 2d 62 75 66 2d 70 6f |ong delt|a-buf-po|
|000022f0| 73 29 29 29 0d 20 20 20 | 20 20 20 20 20 20 20 20 |s))). | |
|00002300| 20 28 73 65 74 66 20 6c | 61 73 74 2d 70 6f 73 20 | (setf l|ast-pos |
|00002310| 63 75 72 2d 70 6f 73 29 | 0d 20 20 20 20 20 20 20 |cur-pos)|. |
|00002320| 20 20 20 20 20 28 73 33 | 62 75 66 2d 69 6d 61 67 | (s3|buf-imag|
|00002330| 65 2d 74 6f 2d 73 63 72 | 65 65 6e 20 73 33 62 29 |e-to-scr|een s3b)|
|00002340| 29 29 0d 20 20 20 20 20 | 20 20 20 28 77 68 65 6e |)). | (when|
|00002350| 20 65 72 61 73 65 2d 61 | 74 2d 65 6e 64 2d 70 20 | erase-a|t-end-p |
|00002360| 28 73 33 62 75 66 2d 73 | 61 76 65 64 2d 74 6f 2d |(s3buf-s|aved-to-|
|00002370| 73 63 72 65 65 6e 20 73 | 33 62 29 29 0d 20 20 20 |screen s|3b)). |
|00002380| 20 20 20 20 20 28 73 33 | 62 75 66 2d 64 69 73 70 | (s3|buf-disp|
|00002390| 6f 73 65 20 73 33 62 29 | 29 29 29 29 0d 0d 23 7c |ose s3b)|))))..#||
|000023a0| 0d 0d 28 6f 6f 75 2d 64 | 65 70 65 6e 64 65 6e 63 |..(oou-d|ependenc|
|000023b0| 69 65 73 20 3a 73 69 6d | 70 6c 65 2d 76 69 65 77 |ies :sim|ple-view|
|000023c0| 2d 63 65 29 0d 0d 28 70 | 72 6f 67 6e 0d 20 20 28 |-ce)..(p|rogn. (|
|000023d0| 64 65 66 70 61 72 61 6d | 65 74 65 72 20 2a 74 65 |defparam|eter *te|
|000023e0| 73 74 2d 77 2a 20 28 6d | 61 6b 65 2d 69 6e 73 74 |st-w* (m|ake-inst|
|000023f0| 61 6e 63 65 20 27 77 69 | 6e 64 6f 77 0d 20 20 20 |ance 'wi|ndow. |
|00002400| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002410| 20 20 20 20 20 20 20 20 | 3a 76 69 65 77 2d 70 6f | |:view-po|
|00002420| 73 69 74 69 6f 6e 20 23 | 40 28 35 20 34 30 29 0d |sition #|@(5 40).|
|00002430| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002440| 20 20 20 20 20 20 20 20 | 20 20 20 3a 76 69 65 77 | | :view|
|00002450| 2d 73 69 7a 65 20 23 40 | 28 32 30 30 20 32 30 30 |-size #@|(200 200|
|00002460| 29 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |). | |
|00002470| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 3a 63 | | ;:c|
|00002480| 6f 6c 6f 72 2d 70 20 74 | 0d 20 20 20 20 20 20 20 |olor-p t|. |
|00002490| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000024a0| 20 20 20 20 29 29 0d 20 | 20 28 77 69 74 68 2d 66 | )). | (with-f|
|000024b0| 6f 63 75 73 65 64 2d 76 | 69 65 77 20 2a 74 65 73 |ocused-v|iew *tes|
|000024c0| 74 2d 77 2a 20 28 23 5f | 42 61 63 6b 50 61 74 20 |t-w* (#_|BackPat |
|000024d0| 2a 6c 69 67 68 74 2d 67 | 72 61 79 2d 70 61 74 74 |*light-g|ray-patt|
|000024e0| 65 72 6e 2a 29 29 0d 20 | 20 3b 28 73 65 74 2d 62 |ern*)). | ;(set-b|
|000024f0| 61 63 6b 2d 63 6f 6c 6f | 72 20 2a 74 65 73 74 2d |ack-colo|r *test-|
|00002500| 77 2a 20 2a 72 65 64 2d | 63 6f 6c 6f 72 2a 29 0d |w* *red-|color*).|
|00002510| 20 20 3b 28 73 65 74 2d | 66 6f 72 65 2d 63 6f 6c | ;(set-|fore-col|
|00002520| 6f 72 20 2a 74 65 73 74 | 2d 77 2a 20 2a 62 6c 75 |or *test|-w* *blu|
|00002530| 65 2d 63 6f 6c 6f 72 2a | 29 0d 20 20 28 69 6e 76 |e-color*|). (inv|
|00002540| 61 6c 69 64 61 74 65 2d | 76 69 65 77 20 2a 74 65 |alidate-|view *te|
|00002550| 73 74 2d 77 2a 20 74 29 | 29 0d 20 0d 28 77 69 74 |st-w* t)|). .(wit|
|00002560| 68 2d 66 6f 63 75 73 65 | 64 2d 76 69 65 77 20 2a |h-focuse|d-view *|
|00002570| 74 65 73 74 2d 77 2a 0d | 20 20 28 72 6c 65 74 20 |test-w*.| (rlet |
|00002580| 28 28 72 20 3a 52 65 63 | 74 0d 20 20 20 20 20 20 |((r :Rec|t. |
|00002590| 20 20 20 20 20 20 3a 74 | 6f 70 4c 65 66 74 20 23 | :t|opLeft #|
|000025a0| 40 28 32 30 20 32 30 29 | 0d 20 20 20 20 20 20 20 |@(20 20)|. |
|000025b0| 20 20 20 20 20 3a 62 6f | 74 52 69 67 68 74 20 23 | :bo|tRight #|
|000025c0| 40 28 31 35 30 20 31 35 | 30 29 29 29 0d 20 20 20 |@(150 15|0))). |
|000025d0| 20 28 77 69 74 68 2d 6d | 61 63 70 74 72 73 20 28 | (with-m|acptrs (|
|000025e0| 28 72 67 6e 20 28 23 5f | 4e 65 77 52 67 6e 29 29 |(rgn (#_|NewRgn))|
|000025f0| 29 0d 20 20 20 20 20 20 | 28 23 5f 4f 70 65 6e 52 |). |(#_OpenR|
|00002600| 67 6e 29 0d 20 20 20 20 | 20 20 28 23 5f 46 72 61 |gn). | (#_Fra|
|00002610| 6d 65 4f 76 61 6c 20 72 | 29 0d 20 20 20 20 20 20 |meOval r|). |
|00002620| 28 23 5f 49 6e 73 65 74 | 52 65 63 74 20 72 20 31 |(#_Inset|Rect r 1|
|00002630| 30 20 31 30 29 0d 20 20 | 20 20 20 20 28 23 5f 46 |0 10). | (#_F|
|00002640| 72 61 6d 65 4f 76 61 6c | 20 72 29 0d 20 20 20 20 |rameOval| r). |
|00002650| 20 20 28 23 5f 49 6e 73 | 65 74 52 65 63 74 20 72 | (#_Ins|etRect r|
|00002660| 20 32 30 20 32 30 29 0d | 20 20 20 20 20 20 28 23 | 20 20).| (#|
|00002670| 5f 4f 66 66 73 65 74 52 | 65 63 74 20 72 20 2d 31 |_OffsetR|ect r -1|
|00002680| 30 20 2d 35 29 0d 20 20 | 20 20 20 20 28 23 5f 46 |0 -5). | (#_F|
|00002690| 72 61 6d 65 4f 76 61 6c | 20 72 29 0d 20 20 20 20 |rameOval| r). |
|000026a0| 20 20 28 23 5f 4f 66 66 | 73 65 74 52 65 63 74 20 | (#_Off|setRect |
|000026b0| 72 20 32 30 20 30 29 0d | 20 20 20 20 20 20 28 23 |r 20 0).| (#|
|000026c0| 5f 46 72 61 6d 65 4f 76 | 61 6c 20 72 29 0d 20 20 |_FrameOv|al r). |
|000026d0| 20 20 20 20 28 23 5f 43 | 6c 6f 73 65 52 67 6e 20 | (#_C|loseRgn |
|000026e0| 72 67 6e 29 0d 20 20 20 | 20 20 20 28 23 5f 46 69 |rgn). | (#_Fi|
|000026f0| 6c 6c 52 67 6e 20 72 67 | 6e 20 2a 64 61 72 6b 2d |llRgn rg|n *dark-|
|00002700| 67 72 61 79 2d 70 61 74 | 74 65 72 6e 2a 29 0d 20 |gray-pat|tern*). |
|00002710| 20 20 20 20 20 0d 20 20 | 20 20 20 20 3b 63 6f 6e | . | ;con|
|00002720| 76 65 72 74 20 72 65 67 | 69 6f 6e 20 74 6f 20 67 |vert reg|ion to g|
|00002730| 6c 6f 62 61 6c 20 63 6f | 6f 72 64 73 0d 20 20 20 |lobal co|ords. |
|00002740| 20 20 20 28 6d 6f 76 65 | 2d 72 65 67 69 6f 6e 2d | (move|-region-|
|00002750| 74 6f 20 72 67 6e 20 28 | 76 69 65 77 2d 74 6f 2d |to rgn (|view-to-|
|00002760| 67 6c 6f 62 61 6c 20 2a | 74 65 73 74 2d 77 2a 20 |global *|test-w* |
|00002770| 28 68 72 65 66 20 72 67 | 6e 20 3a 72 65 67 69 6f |(href rg|n :regio|
|00002780| 6e 2e 72 67 6e 42 42 6f | 78 2e 74 6f 70 4c 65 66 |n.rgnBBo|x.topLef|
|00002790| 74 29 29 29 0d 20 20 20 | 20 20 20 0d 20 20 20 20 |t))). | . |
|000027a0| 20 20 28 6c 6f 6f 70 0d | 20 20 20 20 20 20 20 20 | (loop.| |
|000027b0| 28 77 68 65 6e 20 28 6d | 6f 75 73 65 2d 64 6f 77 |(when (m|ouse-dow|
|000027c0| 6e 2d 70 29 0d 20 20 20 | 20 20 20 20 20 20 20 0d |n-p). | .|
|000027d0| 20 20 20 20 20 20 20 20 | 20 20 28 23 5f 46 6c 75 | | (#_Flu|
|000027e0| 73 68 45 76 65 6e 74 73 | 20 23 24 6d 44 6f 77 6e |shEvents| #$mDown|
|000027f0| 4d 61 73 6b 20 30 29 0d | 20 20 20 20 20 20 20 20 |Mask 0).| |
|00002800| 20 20 28 6c 65 74 20 28 | 28 70 74 20 28 76 69 65 | (let (|(pt (vie|
|00002810| 77 2d 6d 6f 75 73 65 2d | 70 6f 73 69 74 69 6f 6e |w-mouse-|position|
|00002820| 20 6e 69 6c 29 29 29 0d | 20 20 20 20 20 20 20 20 | nil))).| |
|00002830| 20 20 20 20 28 72 6c 65 | 74 20 28 28 62 6f 75 6e | (rle|t ((boun|
|00002840| 64 73 2d 72 20 3a 52 65 | 63 74 0d 20 20 20 20 20 |ds-r :Re|ct. |
|00002850| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002860| 20 20 20 20 20 20 20 20 | 3a 74 6f 70 4c 65 66 74 | |:topLeft|
|00002870| 20 20 28 76 69 65 77 2d | 70 6f 73 69 74 69 6f 6e | (view-|position|
|00002880| 20 2a 74 65 73 74 2d 77 | 2a 29 0d 20 20 20 20 20 | *test-w|*). |
|00002890| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000028a0| 20 20 20 20 20 20 20 20 | 3a 62 6f 74 52 69 67 68 | |:botRigh|
|000028b0| 74 20 28 61 64 64 2d 70 | 6f 69 6e 74 73 20 28 76 |t (add-p|oints (v|
|000028c0| 69 65 77 2d 70 6f 73 69 | 74 69 6f 6e 20 2a 74 65 |iew-posi|tion *te|
|000028d0| 73 74 2d 77 2a 29 20 28 | 76 69 65 77 2d 73 69 7a |st-w*) (|view-siz|
|000028e0| 65 20 2a 74 65 73 74 2d | 77 2a 29 29 29 0d 20 20 |e *test-|w*))). |
|000028f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002900| 20 28 73 6c 6f 70 2d 72 | 20 3a 52 65 63 74 29 29 | (slop-r| :Rect))|
|00002910| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 28 |. | (|
|00002920| 70 73 65 74 20 73 6c 6f | 70 2d 72 20 3a 52 65 63 |pset slo|p-r :Rec|
|00002930| 74 20 62 6f 75 6e 64 73 | 2d 72 29 0d 20 20 20 20 |t bounds|-r). |
|00002940| 20 20 20 20 20 20 20 20 | 20 20 28 69 6e 63 66 20 | | (incf |
|00002950| 28 70 72 65 66 20 62 6f | 75 6e 64 73 2d 72 20 3a |(pref bo|unds-r :|
|00002960| 52 65 63 74 2e 74 6f 70 | 4c 65 66 74 29 20 20 28 |Rect.top|Left) (|
|00002970| 73 75 62 74 72 61 63 74 | 2d 70 6f 69 6e 74 73 20 |subtract|-points |
|00002980| 70 74 20 28 68 72 65 66 | 20 72 67 6e 20 3a 72 65 |pt (href| rgn :re|
|00002990| 67 69 6f 6e 2e 72 67 6e | 42 42 6f 78 2e 74 6f 70 |gion.rgn|BBox.top|
|000029a0| 4c 65 66 74 29 29 29 0d | 20 20 20 20 20 20 20 20 |Left))).| |
|000029b0| 20 20 20 20 20 20 28 69 | 6e 63 66 20 28 70 72 65 | (i|ncf (pre|
|000029c0| 66 20 62 6f 75 6e 64 73 | 2d 72 20 3a 52 65 63 74 |f bounds|-r :Rect|
|000029d0| 2e 62 6f 74 52 69 67 68 | 74 29 20 28 73 75 62 74 |.botRigh|t) (subt|
|000029e0| 72 61 63 74 2d 70 6f 69 | 6e 74 73 20 70 74 20 28 |ract-poi|nts pt (|
|000029f0| 68 72 65 66 20 72 67 6e | 20 3a 72 65 67 69 6f 6e |href rgn| :region|
|00002a00| 2e 72 67 6e 42 42 6f 78 | 2e 62 6f 74 52 69 67 68 |.rgnBBox|.botRigh|
|00002a10| 74 29 29 29 0d 20 20 20 | 20 20 20 20 20 20 20 20 |t))). | |
|00002a20| 20 20 20 28 23 5f 49 6e | 73 65 74 52 65 63 74 20 | (#_In|setRect |
|00002a30| 73 6c 6f 70 2d 72 20 2d | 32 30 20 2d 32 30 29 0d |slop-r -|20 -20).|
|00002a40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 28 72 | | (r|
|00002a50| 65 74 75 72 6e 0d 20 20 | 20 20 20 20 20 20 20 20 |eturn. | |
|00002a60| 20 20 20 20 20 28 6d 75 | 6c 74 69 70 6c 65 2d 76 | (mu|ltiple-v|
|00002a70| 61 6c 75 65 2d 62 69 6e | 64 20 28 64 65 6c 74 61 |alue-bin|d (delta|
|00002a80| 20 66 69 6e 61 6c 29 0d | 20 20 20 20 20 20 20 20 | final).| |
|00002a90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002aa0| 20 20 20 20 20 20 20 20 | 20 20 20 20 28 64 72 61 | | (dra|
|00002ab0| 67 2d 72 65 67 69 6f 6e | 20 72 67 6e 20 70 74 0d |g-region| rgn pt.|
|00002ac0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002ad0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002ae0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002af0| 20 3a 62 6f 72 64 65 72 | 2d 73 69 7a 65 20 23 40 | :border|-size #@|
|00002b00| 28 35 30 20 35 30 29 0d | 20 20 20 20 20 20 20 20 |(50 50).| |
|00002b10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002b20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002b30| 20 20 20 20 20 20 20 20 | 20 3a 65 72 61 73 65 2d | | :erase-|
|00002b40| 61 74 2d 73 74 61 72 74 | 2d 70 20 74 0d 20 20 20 |at-start|-p t. |
|00002b50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002b60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002b70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 3a | | ;:|
|00002b80| 62 6f 75 6e 64 73 2d 72 | 65 63 74 20 62 6f 75 6e |bounds-r|ect boun|
|00002b90| 64 73 2d 72 0d 20 20 20 | 20 20 20 20 20 20 20 20 |ds-r. | |
|00002ba0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002bb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002bc0| 20 20 20 20 20 20 3b 3a | 73 6c 6f 70 2d 72 65 63 | ;:|slop-rec|
|00002bd0| 74 20 73 6c 6f 70 2d 72 | 0d 20 20 20 20 20 20 20 |t slop-r|. |
|00002be0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002bf0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002c00| 20 20 20 20 20 20 20 20 | 20 20 29 0d 20 20 20 20 | | ). |
|00002c10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 28 23 5f | | (#_|
|00002c20| 44 69 73 70 6f 73 65 52 | 67 6e 20 72 67 6e 29 0d |DisposeR|gn rgn).|
|00002c30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002c40| 20 28 76 61 6c 75 65 73 | 20 28 70 6f 69 6e 74 2d | (values| (point-|
|00002c50| 73 74 72 69 6e 67 20 64 | 65 6c 74 61 29 20 28 70 |string d|elta) (p|
|00002c60| 6f 69 6e 74 2d 73 74 72 | 69 6e 67 20 66 69 6e 61 |oint-str|ing fina|
|00002c70| 6c 29 29 29 29 29 29 29 | 29 29 29 29 0d 0d 0d 28 |l)))))))|))))...(|
|00002c80| 77 69 74 68 2d 66 6f 63 | 75 73 65 64 2d 76 69 65 |with-foc|used-vie|
|00002c90| 77 20 2a 74 65 73 74 2d | 77 2a 0d 20 20 28 72 6c |w *test-|w*. (rl|
|00002ca0| 65 74 20 28 28 72 20 3a | 52 65 63 74 0d 20 20 20 |et ((r :|Rect. |
|00002cb0| 20 20 20 20 20 20 20 20 | 20 3a 74 6f 70 4c 65 66 | | :topLef|
|00002cc0| 74 20 23 40 28 32 30 20 | 32 30 29 0d 20 20 20 20 |t #@(20 |20). |
|00002cd0| 20 20 20 20 20 20 20 20 | 3a 62 6f 74 52 69 67 68 | |:botRigh|
|00002ce0| 74 20 23 40 28 31 35 30 | 20 31 35 30 29 29 29 0d |t #@(150| 150))).|
|00002cf0| 20 20 20 20 28 77 69 74 | 68 2d 6d 61 63 70 74 72 | (wit|h-macptr|
|00002d00| 73 20 28 28 72 67 6e 20 | 28 23 5f 4e 65 77 52 67 |s ((rgn |(#_NewRg|
|00002d10| 6e 29 29 29 0d 20 20 20 | 20 20 20 28 23 5f 4f 70 |n))). | (#_Op|
|00002d20| 65 6e 52 67 6e 29 0d 20 | 20 20 20 20 20 28 23 5f |enRgn). | (#_|
|00002d30| 46 72 61 6d 65 4f 76 61 | 6c 20 72 29 0d 20 20 20 |FrameOva|l r). |
|00002d40| 20 20 20 28 23 5f 49 6e | 73 65 74 52 65 63 74 20 | (#_In|setRect |
|00002d50| 72 20 31 30 20 31 30 29 | 0d 20 20 20 20 20 20 28 |r 10 10)|. (|
|00002d60| 23 5f 46 72 61 6d 65 4f | 76 61 6c 20 72 29 0d 20 |#_FrameO|val r). |
|00002d70| 20 20 20 20 20 28 23 5f | 49 6e 73 65 74 52 65 63 | (#_|InsetRec|
|00002d80| 74 20 72 20 32 30 20 32 | 30 29 0d 20 20 20 20 20 |t r 20 2|0). |
|00002d90| 20 28 23 5f 4f 66 66 73 | 65 74 52 65 63 74 20 72 | (#_Offs|etRect r|
|00002da0| 20 2d 31 30 20 2d 35 29 | 0d 20 20 20 20 20 20 28 | -10 -5)|. (|
|00002db0| 23 5f 46 72 61 6d 65 4f | 76 61 6c 20 72 29 0d 20 |#_FrameO|val r). |
|00002dc0| 20 20 20 20 20 28 23 5f | 4f 66 66 73 65 74 52 65 | (#_|OffsetRe|
|00002dd0| 63 74 20 72 20 32 30 20 | 30 29 0d 20 20 20 20 20 |ct r 20 |0). |
|00002de0| 20 28 23 5f 46 72 61 6d | 65 4f 76 61 6c 20 72 29 | (#_Fram|eOval r)|
|00002df0| 0d 20 20 20 20 20 20 28 | 23 5f 43 6c 6f 73 65 52 |. (|#_CloseR|
|00002e00| 67 6e 20 72 67 6e 29 0d | 20 20 20 20 20 20 28 23 |gn rgn).| (#|
|00002e10| 5f 46 69 6c 6c 52 67 6e | 20 72 67 6e 20 2a 64 61 |_FillRgn| rgn *da|
|00002e20| 72 6b 2d 67 72 61 79 2d | 70 61 74 74 65 72 6e 2a |rk-gray-|pattern*|
|00002e30| 29 0d 20 20 20 20 20 20 | 0d 20 20 20 20 20 20 3b |). |. ;|
|00002e40| 63 6f 6e 76 65 72 74 20 | 72 65 67 69 6f 6e 20 74 |convert |region t|
|00002e50| 6f 20 67 6c 6f 62 61 6c | 20 63 6f 6f 72 64 73 0d |o global| coords.|
|00002e60| 20 20 20 20 20 20 28 6d | 6f 76 65 2d 72 65 67 69 | (m|ove-regi|
|00002e70| 6f 6e 2d 74 6f 20 72 67 | 6e 20 28 76 69 65 77 2d |on-to rg|n (view-|
|00002e80| 74 6f 2d 67 6c 6f 62 61 | 6c 20 2a 74 65 73 74 2d |to-globa|l *test-|
|00002e90| 77 2a 20 28 68 72 65 66 | 20 72 67 6e 20 3a 72 65 |w* (href| rgn :re|
|00002ea0| 67 69 6f 6e 2e 72 67 6e | 42 42 6f 78 2e 74 6f 70 |gion.rgn|BBox.top|
|00002eb0| 4c 65 66 74 29 29 29 0d | 20 20 20 20 20 20 0d 20 |Left))).| . |
|00002ec0| 20 20 20 20 20 28 6c 65 | 74 20 28 28 70 74 2d 6c | (le|t ((pt-l|
|00002ed0| 69 73 74 20 28 6c 69 73 | 74 20 28 68 72 65 66 20 |ist (lis|t (href |
|00002ee0| 72 67 6e 20 3a 52 65 67 | 69 6f 6e 2e 72 67 6e 42 |rgn :Reg|ion.rgnB|
|00002ef0| 42 6f 78 2e 74 6f 70 4c | 65 66 74 29 29 29 29 0d |Box.topL|eft)))).|
|00002f00| 20 20 20 20 20 20 20 20 | 28 64 6f 74 69 6d 65 73 | |(dotimes|
|00002f10| 20 28 69 20 35 30 29 0d | 20 20 20 20 20 20 20 20 | (i 50).| |
|00002f20| 20 20 28 70 75 73 68 20 | 28 6d 61 6b 65 2d 70 6f | (push |(make-po|
|00002f30| 69 6e 74 20 28 2b 20 33 | 20 20 28 70 6f 69 6e 74 |int (+ 3| (point|
|00002f40| 2d 68 20 28 66 69 72 73 | 74 20 70 74 2d 6c 69 73 |-h (firs|t pt-lis|
|00002f50| 74 29 29 29 0d 20 20 20 | 20 20 20 20 20 20 20 20 |t))). | |
|00002f60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002f70| 20 28 2b 20 32 20 20 28 | 70 6f 69 6e 74 2d 76 20 | (+ 2 (|point-v |
|00002f80| 28 66 69 72 73 74 20 70 | 74 2d 6c 69 73 74 29 29 |(first p|t-list))|
|00002f90| 29 29 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |)). | |
|00002fa0| 20 20 20 70 74 2d 6c 69 | 73 74 29 29 0d 20 20 20 | pt-li|st)). |
|00002fb0| 20 20 20 20 20 20 20 28 | 73 65 74 66 20 70 74 2d | (|setf pt-|
|00002fc0| 6c 69 73 74 20 28 6e 72 | 65 76 65 72 73 65 20 70 |list (nr|everse p|
|00002fd0| 74 2d 6c 69 73 74 29 29 | 0d 20 20 20 20 20 20 20 |t-list))|. |
|00002fe0| 20 28 6d 6f 76 65 2d 72 | 65 67 69 6f 6e 20 72 67 | (move-r|egion rg|
|00002ff0| 6e 20 70 74 2d 6c 69 73 | 74 0d 20 20 20 20 20 20 |n pt-lis|t. |
|00003000| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3a | | :|
|00003010| 62 6f 72 64 65 72 2d 73 | 69 7a 65 20 23 40 28 35 |border-s|ize #@(5|
|00003020| 30 20 35 30 29 0d 20 20 | 20 20 20 20 20 20 20 20 |0 50). | |
|00003030| 20 20 20 20 20 20 20 20 | 20 20 20 3a 65 72 61 73 | | :eras|
|00003040| 65 2d 61 74 2d 73 74 61 | 72 74 2d 70 20 74 29 0d |e-at-sta|rt-p t).|
|00003050| 20 20 20 20 20 20 20 20 | 28 23 5f 44 69 73 70 6f | |(#_Dispo|
|00003060| 73 65 52 67 6e 20 72 67 | 6e 29 0d 20 20 20 20 20 |seRgn rg|n). |
|00003070| 20 20 20 29 29 29 29 0d | 7c 23 00 00 00 00 00 00 | )))).||#......|
|00003080| 00 00 01 00 00 00 01 68 | 00 00 00 68 00 00 00 52 |.......h|...h...R|
|00003090| 75 29 0d 28 6f 6f 75 2d | 70 72 6f 76 69 64 65 20 |u).(oou-|provide |
|000030a0| 3a 64 72 61 67 2d 75 29 | 0d 3b 3b 3b 3b 3b 3b 3b |:drag-u)|.;;;;;;;|
|000030b0| 0e 6b 69 6e 65 73 69 73 | 2d 75 2e 6c 69 73 70 6b |.kinesis|-u.lispk|
|000030c0| 02 00 00 00 54 45 58 54 | 43 43 4c 32 01 00 00 28 |....TEXT|CCL2...(|
|000030d0| 00 00 54 45 58 54 43 43 | 4c 32 01 00 00 28 00 00 |..TEXTCC|L2...(..|
|000030e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000030f0| 00 00 a6 06 02 46 00 00 | 2f fa 00 00 01 ba 2e 4c |.....F..|/......L|
|00003100| 69 73 70 0d 3b 3b 0d 3b | 3b 20 43 6f 70 79 72 69 |isp.;;.;|; Copyri|
|00003110| 67 68 74 20 a9 20 31 39 | 39 32 20 4e 6f 72 74 68 |ght . 19|92 North|
|00003120| 77 65 73 74 65 72 6e 20 | 55 6e 69 76 65 72 73 69 |western |Universi|
|00003130| 74 79 20 49 6e 73 74 69 | 74 75 74 65 20 66 6f 72 |ty Insti|tute for|
|00003140| 20 74 68 65 20 4c 65 61 | 72 6e 69 6e 67 20 53 63 | the Lea|rning Sc|
|00003150| 69 65 6e 63 65 73 0d 3b | 3b 20 41 6c 6c 20 52 69 |iences.;|; All Ri|
|00003160| 67 68 74 73 20 52 65 73 | 65 72 76 65 64 0d 3b 3b |ghts Res|erved.;;|
|00003170| 0d 3b 3b 20 61 75 74 68 | 6f 72 3a 20 4d 69 63 68 |.;; auth|or: Mich|
|00003180| 00 00 00 0a 00 01 00 16 | 0a 00 01 00 00 00 00 00 |........|........|
|00003190| 00 0a 00 00 07 43 6f 75 | 72 69 65 72 00 00 00 48 |.....Cou|rier...H|
|000031a0| 00 0a 43 6f 75 72 69 65 | 72 00 00 00 00 00 00 00 |..Courie|r.......|
|000031b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000031c0| 00 00 00 06 00 08 00 5e | 00 6d 03 66 03 26 00 5e |.......^|.m.f.&.^|
|000031d0| 00 6d 03 66 03 26 00 00 | 00 00 00 00 02 95 00 00 |.m.f.&..|........|
|000031e0| 02 95 00 00 01 a3 01 00 | 00 00 01 00 00 00 01 68 |........|.......h|
|000031f0| 00 00 00 68 00 00 00 52 | 00 c0 aa 60 08 d2 00 00 |...h...R|...`....|
|00003200| 00 1c 00 52 00 01 46 52 | 45 44 00 01 00 12 4d 50 |...R..FR|ED....MP|
|00003210| 53 52 00 00 00 2a 00 02 | ff ff 00 00 00 00 00 00 |SR...*..|........|
|00003220| 00 00 00 03 ff ff 00 00 | 00 0e 00 00 00 00 03 ed |........|........|
|00003230| ff ff 00 00 00 1c 00 c1 | 89 40 00 00 00 00 00 00 |........|.@......|
|00003240| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003250| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003260| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003270| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+